package com.yupi.springbootinit.model.entity;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import java.io.Serializable;
import java.util.Date;

/**
 *
 * @TableName orders
 */
@TableName(value ="orders")
public class Orders implements Serializable {
    /**
     * 订单的唯一ID
     */
    @TableId(value = "orderId", type = IdType.AUTO)
    private Long orderId;

    /**
     * 用户的唯一ID
     */
    @TableField(value = "userId")
    private Long userId;

    /**
     * 教师的用户ID
     */
    @TableField(value = "teacherId")
    private Long teacherId;

    /**
     * 订单简介（包括学生成绩，教师需求等）
     */
    @TableField(value = "orderProfile")
    private String orderProfile;

    /**
     * 是否需要线下家教
     */
    @TableField(value = "isOnline")
    private Integer isOnline;

    /**
     * 如果需要线下家教，线下家教的地址
     */
    @TableField(value = "offlineAddress")
    private String offlineAddress;

    /**
     * 如果需要线下家教，是否需要报销车费
     */
    @TableField(value = "reimbursementNeeded")
    private Integer reimbursementNeeded;

    /**
     * 预设用作面试的问题文件URL
     */
    @TableField(value = "questionFile")
    private String questionFile;

    /**
     * 教师回答的文件目录URL
     */
    @TableField(value = "answerDirectory")
    private String answerDirectory;

    /**
     * 上课科目，用逗号分隔
     */
    @TableField(value = "subjects")
    private String subjects;

    /**
     * 学生年级
     */
    @TableField(value = "grade")
    private String grade;

    /**
     * 用户对于此订单的评论
     */
    @TableField(value = "userComments")
    private String userComments;

    /**
     * 用户对于此订单的评分
     */
    @TableField(value = "userRating")
    private Integer userRating;

    /**
     * 授课次数
     */
    @TableField(value = "lessonCount")
    private Integer lessonCount;

    /**
     * 授课次数
     */
    @TableField(value = "lastLessonCount")
    private Integer lastLessonCount;

    /**
     * 订单押金
     */
    @TableField(value = "deposit")
    private Double deposit;

    /**
     * 订单最后成交的总金额
     */
    @TableField(value = "transactionAmount")
    private Double transactionAmount;

    /**
     * 订单的结束时间
     */
    @TableField(value = "endedAt")
    private Date endedAt;

    /**
     * 判定订单的状态：删除，不通过审核，未缴纳押金，已完成等
     */
    @TableField(value = "orderStatus")
    private Integer orderStatus;

    /**
     * 创建时间
     */
    @TableField(value = "createTime")
    private Date createTime;

    /**
     * 更新时间
     */
    @TableField(value = "updateTime")
    private Date updateTime;

    /**
     * 是否删除
     */
    @TableField(value = "isDelete")
    private Integer isDelete;

    /**
     * 每次课价钱
     */
    @TableField(value = "lessonPrice")
    private Double lessonPrice;

    @TableField(exist = false)
    private static final long serialVersionUID = 1L;

    /**
     * 订单的唯一ID
     */
    public Long getOrderId() {
        return orderId;
    }

    /**
     * 订单的唯一ID
     */
    public void setOrderId(Long orderId) {
        this.orderId = orderId;
    }

    /**
     * 用户的唯一ID
     */
    public Long getUserId() {
        return userId;
    }

    /**
     * 用户的唯一ID
     */
    public void setUserId(Long userId) {
        this.userId = userId;
    }

    /**
     * 教师的用户ID
     */
    public Long getTeacherId() {
        return teacherId;
    }

    /**
     * 教师的用户ID
     */
    public void setTeacherId(Long teacherId) {
        this.teacherId = teacherId;
    }

    /**
     * 订单简介（包括学生成绩，教师需求等）
     */
    public String getOrderProfile() {
        return orderProfile;
    }

    /**
     * 订单简介（包括学生成绩，教师需求等）
     */
    public void setOrderProfile(String orderProfile) {
        this.orderProfile = orderProfile;
    }

    /**
     * 是否需要线下家教
     */
    public Integer getIsOnline() {
        return isOnline;
    }

    /**
     * 是否需要线下家教
     */
    public void setIsOnline(Integer isOnline) {
        this.isOnline = isOnline;
    }

    /**
     * 如果需要线下家教，线下家教的地址
     */
    public String getOfflineAddress() {
        return offlineAddress;
    }

    /**
     * 如果需要线下家教，线下家教的地址
     */
    public void setOfflineAddress(String offlineAddress) {
        this.offlineAddress = offlineAddress;
    }

    /**
     * 如果需要线下家教，是否需要报销车费
     */
    public Integer getReimbursementNeeded() {
        return reimbursementNeeded;
    }

    /**
     * 如果需要线下家教，是否需要报销车费
     */
    public void setReimbursementNeeded(Integer reimbursementNeeded) {
        this.reimbursementNeeded = reimbursementNeeded;
    }

    /**
     * 预设用作面试的问题文件URL
     */
    public String getQuestionFile() {
        return questionFile;
    }

    /**
     * 预设用作面试的问题文件URL
     */
    public void setQuestionFile(String questionFile) {
        this.questionFile = questionFile;
    }

    /**
     * 教师回答的文件目录URL
     */
    public String getAnswerDirectory() {
        return answerDirectory;
    }

    /**
     * 教师回答的文件目录URL
     */
    public void setAnswerDirectory(String answerDirectory) {
        this.answerDirectory = answerDirectory;
    }

    /**
     * 上课科目，用逗号分隔
     */
    public String getSubjects() {
        return subjects;
    }

    /**
     * 上课科目，用逗号分隔
     */
    public void setSubjects(String subjects) {
        this.subjects = subjects;
    }

    /**
     * 用户对于此订单的评论
     */
    public String getUserComments() {
        return userComments;
    }

    /**
     * 用户对于此订单的评论
     */
    public void setUserComments(String userComments) {
        this.userComments = userComments;
    }

    /**
     * 用户对于此订单的评分
     */
    public Integer getUserRating() {
        return userRating;
    }

    /**
     * 用户对于此订单的评分
     */
    public void setUserRating(Integer userRating) {
        this.userRating = userRating;
    }

    /**
     * 授课次数
     */
    public Integer getLessonCount() {
        return lessonCount;
    }

    /**
     * 授课次数
     */
    public void setLessonCount(Integer lessonCount) {
        this.lessonCount = lessonCount;
    }

    /**
     * 剩余授课次数
     */
    public Integer getLastLessonCount() {
        return lastLessonCount;
    }

    /**
     * 剩下授课次数
     */
    public void setLastLessonCount(Integer lastLessonCount) {
        this.lastLessonCount = lastLessonCount;
    }

    /**
     * 订单押金
     */
    public Double getDeposit() {
        return deposit;
    }

    /**
     * 订单押金
     */
    public void setDeposit(Double deposit) {
        this.deposit = deposit;
    }

    /**
     * 订单最后成交的总金额
     */
    public Double getTransactionAmount() {
        return transactionAmount;
    }

    /**
     * 订单最后成交的总金额
     */
    public void setTransactionAmount(Double transactionAmount) {
        this.transactionAmount = transactionAmount;
    }

    /**
     * 订单的结束时间
     */
    public Date getEndedAt() {
        return endedAt;
    }

    /**
     * 订单的结束时间
     */
    public void setEndedAt(Date endedAt) {
        this.endedAt = endedAt;
    }

    /**
     * 判定订单的状态：删除，不通过审核，未缴纳押金，已完成等
     */
    public Integer getOrderStatus() {
        return orderStatus;
    }

    /**
     * 判定订单的状态：删除，不通过审核，未缴纳押金，已完成等
     */
    public void setOrderStatus(Integer orderStatus) {
        this.orderStatus = orderStatus;
    }

    /**
     * 创建时间
     */
    public Date getCreateTime() {
        return createTime;
    }

    /**
     * 创建时间
     */
    public void setCreateTime(Date createTime) {
        this.createTime = createTime;
    }

    /**
     * 更新时间
     */
    public Date getUpdateTime() {
        return updateTime;
    }

    /**
     * 更新时间
     */
    public void setUpdateTime(Date updateTime) {
        this.updateTime = updateTime;
    }

    /**
     * 是否删除
     */
    public Integer getIsDelete() {
        return isDelete;
    }

    /**
     * 是否删除
     */
    public void setIsDelete(Integer isDelete) {
        this.isDelete = isDelete;
    }

    /**
     * 每次课价钱
     */
    public Double getLessonPrice() {
        return lessonPrice;
    }

    /**
     * 每次课价钱
     */
    public void setLessonPrice(Double lessonPrice) {
        this.lessonPrice = lessonPrice;
    }

    public String getGrade() {
        return grade;
    }

    public void setGrade(String grade) {
        this.grade = grade;
    }
}